package com.cjj.refresh;

import ohos.agp.window.service.DisplayManager;
import ohos.app.Context;

/**
 *  DensityUtil
 *
 * @author hw
 * @since 2021/7/26
 */
public class DensityUtil {
    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     *
     * @param context context
     * @param vpValue vpValue
     * @return int
     */
    public static int vp2px(Context context, float vpValue) {
        final float dpi = DisplayManager.getInstance().getDefaultDisplay(context).get().getAttributes().scalDensity;
        return (int) (vpValue * (double) dpi + 0.5 * (vpValue >= 0 ? 1 : -1));
    }

    /**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
     *
     * @param context context
     * @param pxValue pxValue
     * @return int
     */
    public static int px2vp(Context context, float pxValue) {
        final float dpi = DisplayManager.getInstance().getDefaultDisplay(context).get().getAttributes().scalDensity;
        return (int) Math.round((pxValue - 0.5) / (double) dpi);
    }
}